/*
 *
 * Copyright 2021-2025 Software Radio Systems Limited
 *
 * This file is part of srsRAN.
 *
 * srsRAN is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as
 * published by the Free Software Foundation, either version 3 of
 * the License, or (at your option) any later version.
 *
 * srsRAN is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * A copy of the GNU Affero General Public License can be found in
 * the LICENSE file in the top-level directory of this distribution
 * and at http://www.gnu.org/licenses/.
 *
 */

#pragma once

// This file was generated using the following MATLAB class on 18-06-2025 (seed 0):
//   + "srsPDSCHModulatorUnittest.m"

#include "../../../support/resource_grid_test_doubles.h"
#include "srsran/phy/upper/channel_processors/pdsch/pdsch_modulator.h"
#include "srsran/ran/precoding/precoding_codebooks.h"
#include "srsran/support/file_vector.h"

namespace srsran {

struct test_case_t {
  pdsch_modulator::config_t                               config;
  file_vector<uint8_t>                                    data;
  file_vector<resource_grid_writer_spy::expected_entry_t> symbols;
};

static const std::vector<test_case_t> pdsch_modulator_test_data = {
    // clang-format off
  {{59859, {5, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(29, 3, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 130, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input0.dat"}, {"test_data/pdsch_modulator_test_output0.dat"}},
  {{30360, {0, 46}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(9, 5, create_interleaved_other(0, 46, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 698, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input1.dat"}, {"test_data/pdsch_modulator_test_output1.dat"}},
  {{53440, {4, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(0, 2, create_interleaved_other(4, 48, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 961, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input2.dat"}, {"test_data/pdsch_modulator_test_output2.dat"}},
  {{7424, {8, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(15, 8, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 894, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input3.dat"}, {"test_data/pdsch_modulator_test_output3.dat"}},
  {{462, {13, 39}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(22, 4, create_interleaved_other(13, 26, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 583, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input4.dat"}, {"test_data/pdsch_modulator_test_output4.dat"}},
  {{27983, {8, 49}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(36, 5, create_interleaved_other(8, 41, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 1000, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input5.dat"}, {"test_data/pdsch_modulator_test_output5.dat"}},
  {{21175, {3, 50}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(42, 5, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 57, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input6.dat"}, {"test_data/pdsch_modulator_test_output6.dat"}},
  {{38057, {8, 38}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(18, 3, create_interleaved_other(8, 30, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 284, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input7.dat"}, {"test_data/pdsch_modulator_test_output7.dat"}},
  {{25665, {9, 47}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(6, 19, create_interleaved_other(9, 38, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 214, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input8.dat"}, {"test_data/pdsch_modulator_test_output8.dat"}},
  {{5830, {7, 52}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(9, 31, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 415, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input9.dat"}, {"test_data/pdsch_modulator_test_output9.dat"}},
  {{3272, {0, 40}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(24, 2, create_interleaved_other(0, 40, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 694, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input10.dat"}, {"test_data/pdsch_modulator_test_output10.dat"}},
  {{59121, {0, 52}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(14, 27, create_interleaved_other(0, 52, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 758, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input11.dat"}, {"test_data/pdsch_modulator_test_output11.dat"}},
  {{27461, {2, 36}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(8, 10, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 423, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input12.dat"}, {"test_data/pdsch_modulator_test_output12.dat"}},
  {{19247, {0, 52}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(26, 21, create_interleaved_other(0, 52, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 409, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input13.dat"}, {"test_data/pdsch_modulator_test_output13.dat"}},
  {{28824, {6, 35}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(8, 11, create_interleaved_other(6, 29, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 205, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input14.dat"}, {"test_data/pdsch_modulator_test_output14.dat"}},
  {{1852, {1, 42}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(13, 12, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 387, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input15.dat"}, {"test_data/pdsch_modulator_test_output15.dat"}},
  {{36177, {0, 47}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(22, 5, create_interleaved_other(0, 47, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 287, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input16.dat"}, {"test_data/pdsch_modulator_test_output16.dat"}},
  {{35847, {0, 42}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(38, 2, create_interleaved_other(0, 42, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 98, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input17.dat"}, {"test_data/pdsch_modulator_test_output17.dat"}},
  {{14904, {6, 35}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(22, 2, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 216, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input18.dat"}, {"test_data/pdsch_modulator_test_output18.dat"}},
  {{39371, {11, 50}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(23, 8, create_interleaved_other(11, 39, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 129, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input19.dat"}, {"test_data/pdsch_modulator_test_output19.dat"}},
  {{6404, {3, 47}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(4, 21, create_interleaved_other(3, 44, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 847, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input20.dat"}, {"test_data/pdsch_modulator_test_output20.dat"}},
  {{11004, {9, 50}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(3, 3, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 256, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input21.dat"}, {"test_data/pdsch_modulator_test_output21.dat"}},
  {{39269, {25, 52}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(13, 7, create_interleaved_other(25, 27, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 959, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input22.dat"}, {"test_data/pdsch_modulator_test_output22.dat"}},
  {{38972, {12, 46}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(7, 23, create_interleaved_other(12, 34, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 770, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input23.dat"}, {"test_data/pdsch_modulator_test_output23.dat"}},
  {{61265, {3, 40}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(0, 4, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 123, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input24.dat"}, {"test_data/pdsch_modulator_test_output24.dat"}},
  {{36013, {7, 48}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(13, 8, create_interleaved_other(7, 41, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 211, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input25.dat"}, {"test_data/pdsch_modulator_test_output25.dat"}},
  {{44712, {13, 45}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(13, 7, create_interleaved_other(13, 32, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 728, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input26.dat"}, {"test_data/pdsch_modulator_test_output26.dat"}},
  {{37300, {1, 49}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(0, 14, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 904, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input27.dat"}, {"test_data/pdsch_modulator_test_output27.dat"}},
  {{15575, {1, 38}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(12, 23, create_interleaved_other(1, 37, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 655, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input28.dat"}, {"test_data/pdsch_modulator_test_output28.dat"}},
  {{31033, {0, 40}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(24, 13, create_interleaved_other(0, 40, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 125, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input29.dat"}, {"test_data/pdsch_modulator_test_output29.dat"}},
  {{53228, {3, 49}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(30, 10, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 661, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input30.dat"}, {"test_data/pdsch_modulator_test_output30.dat"}},
  {{29809, {2, 51}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(40, 4, create_interleaved_other(2, 49, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 456, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input31.dat"}, {"test_data/pdsch_modulator_test_output31.dat"}},
  {{58578, {7, 47}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(37, 2, create_interleaved_other(7, 40, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 159, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input32.dat"}, {"test_data/pdsch_modulator_test_output32.dat"}},
  {{21855, {22, 50}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(21, 6, vrb_to_prb::create_non_interleaved_other()), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 750, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input33.dat"}, {"test_data/pdsch_modulator_test_output33.dat"}},
  {{18685, {9, 50}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(36, 3, create_interleaved_other(9, 41, vrb_to_prb::mapping_type::interleaved_n2)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 856, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input34.dat"}, {"test_data/pdsch_modulator_test_output34.dat"}},
  {{17223, {8, 43}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(6, 29, create_interleaved_other(8, 35, vrb_to_prb::mapping_type::interleaved_n4)), {0, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 91, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input35.dat"}, {"test_data/pdsch_modulator_test_output35.dat"}},
  {{49375, {1, 51}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(21, 13, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 961, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input36.dat"}, {"test_data/pdsch_modulator_test_output36.dat"}},
  {{25303, {5, 49}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(31, 2, create_interleaved_other(5, 44, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 947, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input37.dat"}, {"test_data/pdsch_modulator_test_output37.dat"}},
  {{26102, {0, 40}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(31, 5, create_interleaved_other(0, 40, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 601, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input38.dat"}, {"test_data/pdsch_modulator_test_output38.dat"}},
  {{28649, {1, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(41, 7, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 257, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input39.dat"}, {"test_data/pdsch_modulator_test_output39.dat"}},
  {{12675, {19, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(0, 13, create_interleaved_other(19, 33, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 1016, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input40.dat"}, {"test_data/pdsch_modulator_test_output40.dat"}},
  {{36149, {2, 35}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(31, 2, create_interleaved_other(2, 33, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 791, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input41.dat"}, {"test_data/pdsch_modulator_test_output41.dat"}},
  {{23943, {3, 40}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(26, 4, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 246, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input42.dat"}, {"test_data/pdsch_modulator_test_output42.dat"}},
  {{43456, {9, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(38, 5, create_interleaved_other(9, 43, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 467, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input43.dat"}, {"test_data/pdsch_modulator_test_output43.dat"}},
  {{54873, {0, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(15, 16, create_interleaved_other(0, 52, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 298, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input44.dat"}, {"test_data/pdsch_modulator_test_output44.dat"}},
  {{62387, {1, 50}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(33, 4, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 297, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input45.dat"}, {"test_data/pdsch_modulator_test_output45.dat"}},
  {{39082, {1, 44}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(21, 17, create_interleaved_other(1, 43, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 13, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input46.dat"}, {"test_data/pdsch_modulator_test_output46.dat"}},
  {{38909, {10, 50}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(24, 13, create_interleaved_other(10, 40, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 175, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input47.dat"}, {"test_data/pdsch_modulator_test_output47.dat"}},
  {{28179, {14, 49}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(25, 2, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 107, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input48.dat"}, {"test_data/pdsch_modulator_test_output48.dat"}},
  {{20016, {1, 52}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(20, 9, create_interleaved_other(1, 51, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 286, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input49.dat"}, {"test_data/pdsch_modulator_test_output49.dat"}},
  {{33745, {6, 47}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(11, 14, create_interleaved_other(6, 41, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 18, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input50.dat"}, {"test_data/pdsch_modulator_test_output50.dat"}},
  {{47704, {13, 48}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(27, 3, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 541, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input51.dat"}, {"test_data/pdsch_modulator_test_output51.dat"}},
  {{13558, {2, 42}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(15, 25, create_interleaved_other(2, 40, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 788, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input52.dat"}, {"test_data/pdsch_modulator_test_output52.dat"}},
  {{57439, {2, 39}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(34, 3, create_interleaved_other(2, 37, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 481, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input53.dat"}, {"test_data/pdsch_modulator_test_output53.dat"}},
  {{17793, {18, 50}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(30, 2, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 716, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input54.dat"}, {"test_data/pdsch_modulator_test_output54.dat"}},
  {{14413, {9, 36}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(16, 8, create_interleaved_other(9, 27, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 89, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input55.dat"}, {"test_data/pdsch_modulator_test_output55.dat"}},
  {{29378, {4, 47}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(8, 13, create_interleaved_other(4, 43, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 6, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input56.dat"}, {"test_data/pdsch_modulator_test_output56.dat"}},
  {{22543, {7, 52}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(4, 11, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 538, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input57.dat"}, {"test_data/pdsch_modulator_test_output57.dat"}},
  {{30012, {3, 49}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(34, 3, create_interleaved_other(3, 46, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 143, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input58.dat"}, {"test_data/pdsch_modulator_test_output58.dat"}},
  {{22948, {2, 48}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(28, 16, create_interleaved_other(2, 46, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 391, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input59.dat"}, {"test_data/pdsch_modulator_test_output59.dat"}},
  {{20387, {19, 52}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(30, 2, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 922, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input60.dat"}, {"test_data/pdsch_modulator_test_output60.dat"}},
  {{52783, {10, 47}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(11, 17, create_interleaved_other(10, 37, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 980, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input61.dat"}, {"test_data/pdsch_modulator_test_output61.dat"}},
  {{62348, {0, 52}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(14, 15, create_interleaved_other(0, 52, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 461, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input62.dat"}, {"test_data/pdsch_modulator_test_output62.dat"}},
  {{36798, {7, 51}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(18, 14, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 472, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input63.dat"}, {"test_data/pdsch_modulator_test_output63.dat"}},
  {{11049, {9, 35}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(0, 10, create_interleaved_other(9, 26, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 964, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input64.dat"}, {"test_data/pdsch_modulator_test_output64.dat"}},
  {{24436, {0, 38}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(10, 17, create_interleaved_other(0, 38, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 405, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input65.dat"}, {"test_data/pdsch_modulator_test_output65.dat"}},
  {{41690, {10, 45}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(25, 6, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 1014, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input66.dat"}, {"test_data/pdsch_modulator_test_output66.dat"}},
  {{42955, {4, 33}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(16, 7, create_interleaved_other(4, 29, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 80, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input67.dat"}, {"test_data/pdsch_modulator_test_output67.dat"}},
  {{5926, {1, 50}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(28, 13, create_interleaved_other(1, 49, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 325, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input68.dat"}, {"test_data/pdsch_modulator_test_output68.dat"}},
  {{18009, {8, 44}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(30, 2, vrb_to_prb::create_non_interleaved_other()), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 98, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input69.dat"}, {"test_data/pdsch_modulator_test_output69.dat"}},
  {{92, {24, 51}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(16, 2, create_interleaved_other(24, 27, vrb_to_prb::mapping_type::interleaved_n2)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 583, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input70.dat"}, {"test_data/pdsch_modulator_test_output70.dat"}},
  {{35954, {9, 46}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(25, 11, create_interleaved_other(9, 37, vrb_to_prb::mapping_type::interleaved_n4)), {1, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 79, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input71.dat"}, {"test_data/pdsch_modulator_test_output71.dat"}},
  {{3061, {0, 50}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(36, 14, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 531, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input72.dat"}, {"test_data/pdsch_modulator_test_output72.dat"}},
  {{53020, {6, 49}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(32, 8, create_interleaved_other(6, 43, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 609, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input73.dat"}, {"test_data/pdsch_modulator_test_output73.dat"}},
  {{24907, {14, 44}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(28, 2, create_interleaved_other(14, 30, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 272, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input74.dat"}, {"test_data/pdsch_modulator_test_output74.dat"}},
  {{6068, {3, 39}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(0, 22, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 756, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input75.dat"}, {"test_data/pdsch_modulator_test_output75.dat"}},
  {{57631, {8, 40}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(16, 7, create_interleaved_other(8, 32, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 264, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input76.dat"}, {"test_data/pdsch_modulator_test_output76.dat"}},
  {{33793, {4, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(15, 3, create_interleaved_other(4, 48, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 87, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input77.dat"}, {"test_data/pdsch_modulator_test_output77.dat"}},
  {{31085, {4, 42}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(11, 10, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 809, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input78.dat"}, {"test_data/pdsch_modulator_test_output78.dat"}},
  {{709, {5, 52}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(4, 7, create_interleaved_other(5, 47, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 629, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input79.dat"}, {"test_data/pdsch_modulator_test_output79.dat"}},
  {{7666, {5, 50}, modulation_scheme::QPSK, modulation_scheme::QPSK, rb_allocation::make_type1(31, 13, create_interleaved_other(5, 45, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 781, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input80.dat"}, {"test_data/pdsch_modulator_test_output80.dat"}},
  {{13419, {8, 45}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(27, 2, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 824, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input81.dat"}, {"test_data/pdsch_modulator_test_output81.dat"}},
  {{28263, {3, 34}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(25, 6, create_interleaved_other(3, 31, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 145, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input82.dat"}, {"test_data/pdsch_modulator_test_output82.dat"}},
  {{65220, {9, 39}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(3, 23, create_interleaved_other(9, 30, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 141, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input83.dat"}, {"test_data/pdsch_modulator_test_output83.dat"}},
  {{55586, {3, 50}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(31, 5, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 957, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input84.dat"}, {"test_data/pdsch_modulator_test_output84.dat"}},
  {{50450, {1, 42}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(22, 12, create_interleaved_other(1, 41, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 328, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input85.dat"}, {"test_data/pdsch_modulator_test_output85.dat"}},
  {{15313, {5, 39}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(10, 3, create_interleaved_other(5, 34, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 549, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input86.dat"}, {"test_data/pdsch_modulator_test_output86.dat"}},
  {{40993, {14, 47}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(1, 21, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 517, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input87.dat"}, {"test_data/pdsch_modulator_test_output87.dat"}},
  {{3610, {0, 51}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(14, 35, create_interleaved_other(0, 51, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 579, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input88.dat"}, {"test_data/pdsch_modulator_test_output88.dat"}},
  {{60625, {1, 38}, modulation_scheme::QAM16, modulation_scheme::QAM16, rb_allocation::make_type1(14, 11, create_interleaved_other(1, 37, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 150, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input89.dat"}, {"test_data/pdsch_modulator_test_output89.dat"}},
  {{27140, {13, 51}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(33, 3, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 710, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input90.dat"}, {"test_data/pdsch_modulator_test_output90.dat"}},
  {{1365, {1, 36}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(21, 13, create_interleaved_other(1, 35, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 60, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input91.dat"}, {"test_data/pdsch_modulator_test_output91.dat"}},
  {{63389, {7, 47}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(35, 3, create_interleaved_other(7, 40, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 135, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input92.dat"}, {"test_data/pdsch_modulator_test_output92.dat"}},
  {{29050, {5, 50}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(39, 2, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 23, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input93.dat"}, {"test_data/pdsch_modulator_test_output93.dat"}},
  {{55988, {22, 51}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(15, 4, create_interleaved_other(22, 29, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 1023, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input94.dat"}, {"test_data/pdsch_modulator_test_output94.dat"}},
  {{46519, {18, 45}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(6, 10, create_interleaved_other(18, 27, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 436, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input95.dat"}, {"test_data/pdsch_modulator_test_output95.dat"}},
  {{37249, {4, 40}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(23, 10, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 408, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input96.dat"}, {"test_data/pdsch_modulator_test_output96.dat"}},
  {{22492, {3, 36}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(16, 9, create_interleaved_other(3, 33, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 896, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input97.dat"}, {"test_data/pdsch_modulator_test_output97.dat"}},
  {{27654, {9, 40}, modulation_scheme::QAM64, modulation_scheme::QAM64, rb_allocation::make_type1(7, 14, create_interleaved_other(9, 31, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 181, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input98.dat"}, {"test_data/pdsch_modulator_test_output98.dat"}},
  {{8467, {11, 47}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(9, 15, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 413, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input99.dat"}, {"test_data/pdsch_modulator_test_output99.dat"}},
  {{8212, {3, 43}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(37, 3, create_interleaved_other(3, 40, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 880, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input100.dat"}, {"test_data/pdsch_modulator_test_output100.dat"}},
  {{18390, {8, 44}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(33, 2, create_interleaved_other(8, 36, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 171, 1, {}, precoding_configuration::make_wideband(make_identity(1))}, {"test_data/pdsch_modulator_test_input101.dat"}, {"test_data/pdsch_modulator_test_output101.dat"}},
  {{5574, {0, 52}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(1, 44, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 950, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input102.dat"}, {"test_data/pdsch_modulator_test_output102.dat"}},
  {{54616, {9, 49}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(37, 3, create_interleaved_other(9, 40, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 655, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input103.dat"}, {"test_data/pdsch_modulator_test_output103.dat"}},
  {{12755, {4, 47}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(9, 24, create_interleaved_other(4, 43, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 158, 1, {}, precoding_configuration::make_wideband(make_identity(2))}, {"test_data/pdsch_modulator_test_input104.dat"}, {"test_data/pdsch_modulator_test_output104.dat"}},
  {{9113, {2, 40}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(12, 17, vrb_to_prb::create_non_interleaved_other()), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 950, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input105.dat"}, {"test_data/pdsch_modulator_test_output105.dat"}},
  {{45731, {3, 48}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(8, 5, create_interleaved_other(3, 45, vrb_to_prb::mapping_type::interleaved_n2)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 895, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input106.dat"}, {"test_data/pdsch_modulator_test_output106.dat"}},
  {{13233, {25, 51}, modulation_scheme::QAM256, modulation_scheme::QAM256, rb_allocation::make_type1(7, 19, create_interleaved_other(25, 26, vrb_to_prb::mapping_type::interleaved_n4)), {2, 14}, {0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, dmrs_type::TYPE1, 2, 143, 1, {}, precoding_configuration::make_wideband(make_identity(4))}, {"test_data/pdsch_modulator_test_input107.dat"}, {"test_data/pdsch_modulator_test_output107.dat"}},
    // clang-format on
};

} // namespace srsran
